package chapter04;

public class java17_Object_Access {
    public static void main(String[] args) {
        // TODO 面向对象 - 访问权限
        // public: 公共的，访问权限修饰符
        // Java的源码中，公共类只能有一个，而且必须和源码文件名相同
        // main方法：main方法是由JVM调用的，JVM调用时应该可以任意调用，而不用考虑权限问题。

        // TODO Java中的访问权限主要分为4种：
        //  1. private:私有的，同一个类中可以使用  继承中父类私有的成员不能被子类继承, 但可以通过公共的方法间接的访问
        //  2. (default.):默认权限，当不设定任何权限时，JVM会默认是供权限，包(路径)权限
        //  3. protected:受保护的权限，当不设定任何权限附，JV会默认是供权限，包（路径）权限
        //  4. public:公共的，任意使用
        //  1. 同类；2. 同类，同包（路径）3. 同类 同包（路径），子类；4. 公共的

        // 任何类都是object的子类
        // 访问父类的成员变量：当在子类对象中，子类想访问父类的东西，可以使用“super.”的方式访问。


        // TODO 而向对象-外部类-内部类
        // Java不允许外部类使那rivate,protected修饰
        // 所谓的外部类，就是在源码中直接声明的类
        // 所谓的内部类，就是类中声明的类
        // 内部类就当成外部类的属性使用即可
        // 因为内部类可以看作外部类的属性，所以需要构建外部类对象才可以使用


        // TODO 面向对象 - 单例模式
        // JVM默认给类提供的构造方法，其实就是公共的，无参的构造方法

        // 类 私有构造方法
        // 1.类的创建过程复杂
        // 2.类的对象消耗资源
        // 创建不了对象就跳过创建对象，直接用类名调用方法
    }
}

